Wireless network operators (“carriers”) generally require capability to provision mobile devices that operate on their networks. “Provisioning” may be defined as dynamically and transparently providing a device with information which enables a service to be performed on the device (i.e., configuring the device). For example, a cellular telephone carrier may require the ability to program into cellular telephones that operate on its network, information such as network addresses (e.g., the home page of an Internet-enabled cellular telephone), user preferences (e.g., user bookmark Uniform Resource Locators (URLs)), and privileges (e.g., email account ID and password). This process is normally performed by a provisioning server operated by the wireless carrier, in cooperation with software on the mobile device. The provisioning server typically is a conventional server-class computer system that is coupled to the wireless network. An example of such a provisioning server is one which executes the Openwave Provisioning Manager (OPM), available from Openwave Systems Inc. of Redwood City, Calif. The software on the mobile device may be a browser in the mobile device (sometimes called a “browser” or “minibrowser” in a mobile device), such as the UP.Browser of Openwave Systems. In conjunction with the UP.Browser, the OPM has the ability to provision a mobile device, such as a cellular telephone, remotely over the air via a wireless network.
It is desirable to control the ability to provision mobile devices to prevent unauthorized provisioning. This goal is especially important now that cellular telephones and other wireless devices have the ability to access the Internet. The Internet potentially provides an access channel to the mobile devices for millions of users, some of whom could attempt to use this channel to perform unauthorized provisioning of mobile devices. Accordingly, a wireless carrier normally operates a provisioning server within a secure (“trusted”) environment, using a conventional firewall, for example.
Before a provisioning server can modify mobile device configuration information, including configuration pertaining to both device and browser layer, the provisioning server must be recognized as the trusted provisioning domain (TPD) by the mobile device. Currently, mobile devices can only recognize one trusted provisioning domain. Consequently, all provisioning commands must come from the same provisioning server, i.e. the one identified by mobile device as the TPD. As the application and usage of wireless Internet grows, however, wireless carriers will need to have the flexibility to allow third parties outside the carrier's firewall, such as application and content providers, to initiate provisioning events, without compromising the security of mobile devices. For example, it may be desirable to enable Internet portals to provision mobile devices with users' personal contact lists (e.g., names, addresses, etc.), or to enable Internet service providers (ISPs) to program network addresses into mobile devices. Previously, however, there has been no solution which allows these actions to be done without compromising security.